The free slope arrows.

When you have to produce a given diagram of vertices and arrows, you must clearly choose adequately the position of each vertex so that all the arrows will be in one of the sixteen directions considered by the Diagram Macros. Anybody who has read this user's guide will easily produce an example of a diagram where this requirement cannot be fulfilled. Nevertheless such a situation is rather unusual since, for example, the most popular book on category theory (Saunders MAC LANE – Categories for the working mathematician – Springer,1971) ...does not contain any such diagram! [Well, I have been lucky: Saunders did not draw the connecting morphism in the snake lemma!]

The slope of an arrow is a pair (n, m) of integers: when you move n points left, you move m points up; as usual, a negative value of n or m indicates a movement in the opposite direction. For example, here are the slopes of the various diagram arrows:

In fact, LATEXallows you to draw arrows in thirty two other directions, using the picture environment and the commands ++ and ++; the corresponding available slopes are (±1,±3), (±3,±1), (±1,±4), (±4,±1), (±2,±3), (±3,±2), (±3,±4), (±4,±3). The length of an arrow is always specified by giving the horizontal extent of the arrow, except in the case of vertical arrows where the actual length is given. So you can just design any arrow or set of arrows using the picture environment and choose the corresponding picture as an item of your diagram; the center of your picture will be positioned automatically at the corresponding point of the pattern. This is exactly what the Diagram Macros are doing any time you ask them to draw an arrow.

You can avoid some typing (but just that!), by using the ``free slope arrow Macro'' to produce directly a diagram arrow, like for primary, secondary and ternary arrows. It has the following form where, as a matter of convention, the origin of the coordinates is the point of the pattern at which you want to include the free slope arrow:

+nabxyuvl+
where

If you do not want to name the arrow, just type, following the usual Diagram Macros convention:

+xyuvl+
Clearly, the ``free slope arrow'' option is not a Diagram Macros feature: it is just plain LATEX job.